#ifndef __CENTIPEDE
#define __CENTIPEDE
#include "libraries.h"
class Centipede
{
    private:
        bool quit;
        int gameState;
        int choice;
        string sNameInput; //Keeps track of the player's name
        SDL_Event event;
        SDL_Surface *background;
        SDL_Surface *screen;
        SDL_Surface* select;
        Uint8 *keypress;
        Uint32 frame; /* Keeps track of current frame */
        TTF_Font *defaultFont;
        Sound sounds;
        Timer update; /* Timer for updating FPS display */
        Timer fps; /* Keeps track of FPS */
        Timer fpsCap; /* Caps FPS if needed */
        Timer menuDelay; /* Timer for menu selection delay */
        /*Create empty lists for players, enemies, and textElements*/
        list<Enemy> enemyList;
        list<Centi> centipedeList; //List of centipede enemies
        list<Player> playerList;
        list<TextElement> textList; /* Used for all on-screen text */
        highScore *topScores;
        Level level; //Keeps track of current level and performs level clean-up and updating operations

    public:
        Centipede();
        ~Centipede();
        void play();
        void endCheck();
        //For screenDraw, pList is the list of players, eList is list of enemies,
        //aList is list of ammo.
        void screenDraw();
        /*layerDraw is ONLY called by screenDraw!!!*/
        template<class T>
        void layerDraw(list<T>& layer);
        void speedCheck();
        void keyPressed(Uint8*);
        void collisionOccur();
};

#endif
